ggv_log.o g7towin.o garmin_gpi.o lmx.o random.o xol.o dg-100.o \
navilink.o mtk_logger.o ik3d.o osm.o destinator.o exif.o vidaone.o \
igo8.o gopal.o humminbird.o mapasia.o gnav_trl.o navitel.o ggv_ovl.o \
- jtr.o sbp.o sbn.o mmo.o skyforce.o itracku.o
+ jtr.o sbp.o sbn.o mmo.o skyforce.o itracku.o pocketfms_bc.o pocketfms_fp.o
FMTS=@FMTS@
shapelib/shapefil.h
skyforce.o: skyforce.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h strptime.h
+pocketfms_bc.o: pocketfms_bc.c defs.h gbtypes.h
+pocketfms_fp.o: pocketfms_fp.c defs.h gbtypes.h
smplrout.o: smplrout.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h filterdefs.h \
grtcirc.h
tm = localtime(&wpt->creation_time);
if (wpt->creation_time) {
tm = gmtime(&wpt->creation_time);
- //tm = localtime(&wpt->creation_time);
}
strcpy (bc.id, header_id);
- bc.version = 1;
- bc.latitude = wpt->latitude;
- bc.longitude = wpt->longitude;
- bc.altitude = METERS_TO_FEET(wpt->altitude);
- bc.year = tm->tm_year + 1900;
- bc.month = tm->tm_mon + 1;
- bc.day = tm->tm_mday;
- bc.hour = tm->tm_hour;
- bc.minute = tm->tm_min;
- bc.second = tm->tm_sec;
- bc.ehpe = wpt->hdop;
- bc.evpe = wpt->vdop;
- bc.espe = wpt->pdop;
- bc.course = wpt->course;
- bc.speed = wpt->speed;
- bc.fix = wpt->fix+1;
+ le_write16(&bc.version, 1);
+ le_write_float(&bc.latitude, wpt->latitude);
+ le_write_float(&bc.longitude, wpt->longitude);
+ le_write_float(&bc.altitude, METERS_TO_FEET(wpt->altitude));
+ le_write16(&bc.year, tm->tm_year + 1900);
+ le_write16(&bc.month, tm->tm_mon + 1);
+ le_write16(&bc.day, tm->tm_mday);
+ le_write16(&bc.hour, tm->tm_hour);
+ le_write16(&bc.minute, tm->tm_min);
+ le_write16(&bc.second, tm->tm_sec);
+ le_write_float(&bc.ehpe, wpt->hdop);
+ le_write_float(&bc.evpe, wpt->vdop);
+ le_write_float(&bc.espe, wpt->pdop);
+ le_write_float(&bc.course, wpt->course);
+ le_write_float(&bc.speed, wpt->speed);
+ le_write16(&bc.fix, wpt->fix+1);
gbfwrite(&bc, sizeof (bc), 1, file_out);
}
+static void
+data_read(void)
+{
+ read_tracks();
+}
+
static void
data_write(void)
{
wr_init,
rd_deinit,
wr_deinit,
- NULL,
+ data_read,
data_write,
NULL,
NULL,
#include "xmlgeneric.h"
static int isFirst = 1;
-static route_head *route;
+static route_head *route = NULL;
static waypoint *wpt_to, *wpt_from;
#define MYNAME "PocketFMS FlightPlan"
static void
rd_deinit(void)
{
+ if (route != NULL)
+ {
+ waypoint *head = (waypoint *) QUEUE_FIRST(&route->waypoint_list);
+ waypoint *tail = (waypoint *) QUEUE_LAST(&route->waypoint_list);
+ if (head != NULL)
+ route->rte_name = xstrdup (head->shortname);
+ route->rte_name = xstrappend(route->rte_name, " - ");
+ if (tail != NULL)
+ route->rte_name = xstrappend(route->rte_name, tail->shortname);
+ }
xml_deinit();
}
if (isFirst == 1) {
wpt_from = waypt_new();
route = route_head_alloc();
- route->rte_name=xstrdup("PocketFMS flightplan");
+ route->rte_desc=xstrdup("PocketFMS flightplan");
route_add_head(route);
}
wpt_to = waypt_new();
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
-<time>2009-03-03T09:17:42Z</time>
+<time>1970-01-01T00:00:00Z</time>
<bounds minlat="51.157424927" minlon="14.946011543" maxlat="51.170711517" maxlon="14.964761734"/>
<trk>
- <name>PocketFMS flight #1</name>
- <desc>PocketFMS breadcrumb</desc>
+ <name>PocketFMS</name>
+ <desc>Breadcrumb</desc>
<number>1</number>
<trkseg>
<trkpt lat="51.160198212" lon="14.946299553">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
-<time>2009-03-03T10:09:38Z</time>
+<time>1970-01-01T00:00:00Z</time>
<bounds minlat="51.158882000" minlon="14.902600000" maxlat="51.363167000" maxlon="14.952033000"/>
<wpt lat="51.158882000" lon="14.950277000">
<name>EDBX</name>
<desc>EDBR</desc>
</wpt>
<rte>
- <name>PocketFMS flightplan</name>
+ <name>EDBX - EDBR</name>
+ <desc>PocketFMS flightplan</desc>
<rtept lat="51.158882000" lon="14.950277000">
<name>EDBX</name>
</rtept>
-f ${REFERENCE}/track/skyforce_trk.txt -o gpx -F ${TMPDIR}/skyforce.gpx
compare ${REFERENCE}/skyforce.gpx ${TMPDIR}/skyforce.gpx
+#
+# PocketFMS breadcrumb files
+#${TMPDIR}
+gpsbabel -i pocketfms_bc -f ${REFERENCE}/pocketfms_bc -o gpx -F ${TMPDIR}/pocketfms_bc.gpx
+compare ${REFERENCE}/pocketfms_bc.gpx ${TMPDIR}/pocketfms_bc.gpx
+gpsbabel -i gpx -f ${REFERENCE}/pocketfms_bc.gpx -o pocketfms_bc -F ${TMPDIR}/pocketfms_bc
+bincompare ${REFERENCE}/pocketfms_bc.babel ${TMPDIR}/pocketfms_bc
+
+#
+# PocketFMS flightplan files (.xml)
+#
+gpsbabel -i pocketfms_fp -f ${REFERENCE}/pocketfms_fp.xml -o gpx -F ${TMPDIR}/pocketfms_fp.gpx
+compare ${REFERENCE}/pocketfms_fp.gpx ${TMPDIR}/pocketfms_fp.gpx
+
exit 0
extern ff_vecs_t sbn_vecs;
extern ff_vecs_t mmo_vecs;
extern ff_vecs_t skyforce_vecs;
+extern ff_vecs_t pocketfms_bc_vecs;
+extern ff_vecs_t pocketfms_fp_vecs;
static
vecs_t vec_list[] = {
"Skymap / KMD150 ascii files",
NULL
},
+ {
+ &pocketfms_bc_vecs,
+ "pocketfms_bc",
+ "PocketFMS breadcrumbs",
+ NULL
+ },
+ {
+ &pocketfms_fp_vecs,
+ "pocketfms_fp",
+ "PocketFMS flightplan",
+ NULL
+ },
#endif // MAXIMAL_ENABLED